一般寫程式的時候,我會將HTML和Javascript分開來寫,但react提供了JSX的語法,將html標籤和Javascript放在同一個檔案,並讓你的程式更簡潔。
// HTML
const element = <h1>你好,世界!</h1>;
// XML
const element = <hellowWorld/>;
// HTML+Javascript,{greeting(someone)}會取代成greeting function的回傳值
const element =(<h1>你好,{greeting(someone)}</h1>) ;
( )雖非必要,但可以避免程式用多行呈現時出錯。
React搭配JSX使用的話,可以用聲明式而非命令式的方式撰寫程式,下面用IG按讚的事件作舉例。
// 命令式
if(userLikes()) {
    if(!hasRedLike()) {
      removeHollowLike();
      addRedLike();
    }
  } else {
    if(hasRedLike()) {
      removeRedLike();
      addHollowLike();
    }
  }
  
//   聲明式
if(this.state.liked) {
    return (<RedLike />);
  } else {
    return (<HollowLike />);
  }
// 未使用JSX未使用JSX
  const li=React.createElement('li',{},'第一點');
//   使用JSX
const li = <li>第一點</li>;
3.結合Javascript語法,可以清楚了解每個元件所負責的功能,讓你更好管理程式
下面用官網提供的範例作舉例。
const e = React.createElement;
class LikeButton extends React.Component {
  render() {
    if (this.state.liked) {
      return 'You liked this.';
    }
    return e(
      'button',
      { onClick: () => this.setState({ liked: true }) },
      'Like'
    );
  }
}
/